import ModalLoading from './Loading.vue'
const ModalLoad = {}
ModalLoad.install = function (Vue) {
    // 在全局状态下只有一个实例 options = {}option = {}
    let instance;
    let defaultOptions = {
        needBg: true // 默认需要背景
    }
    // 在Vue的原型上扩展方法
    Vue.showLoading = Vue.prototype.$showLoading = function (option) {
        defaultOptions = Object.assign(defaultOptions, option)
        // 实例化所引入的插件
        const ModalLoadController = Vue.extend(ModalLoading)
        // 判断当前实例是不是已经存在
        if (!instance) {
            // 实例化插件并挂在到某一个元素上
            instance = new ModalLoadController({
                el: document.createElement('div')
            });
            // 添加在body内
            document.body.appendChild(instance.$el)
            document.body.style.overflow = 'hidden'
        }
        if (instance.show) return
        instance.show = true
        instance.needBg = defaultOptions.needBg
    };
    Vue.closeLoading = Vue.prototype.$closeLoading = function () {
        instance ? (instance.show = false, document.body.style.overflow = 'auto') : ''
    }
}
// 自动安装插件
if (typeof window != 'undefined' && window.Vue) {
    Vue.use(ModalLoad)
}

export default ModalLoad